[versions]
ant = "1.10.14"
apiguardian = "1.1.2"
asciidoctorj-pdf = "2.3.17"
asciidoctor-plugins = "4.0.2" # Check if workaround in documentation.gradle.kts can be removed when upgrading
assertj = "3.26.0"
bnd = "7.0.0"
checkstyle = "10.17.0"
eclipse = "4.32.0"
jackson = "2.17.1"
jacoco = "0.8.12"
jmh = "1.37"
junit4 = "4.13.2"
junit4Min = "4.12"
ktlint = "1.3.0"
log4j = "2.23.1"
opentest4j = "1.3.0"
openTestReporting = "0.1.0-M2"
surefire = "3.3.0"
xmlunit = "2.10.0"

[libraries]
ant = { module = "org.apache.ant:ant", version.ref = "ant" }
ant-junit = { module = "org.apache.ant:ant-junit", version.ref = "ant" }
ant-junitlauncher = { module = "org.apache.ant:ant-junitlauncher", version.ref = "ant" }
apiguardian = { module = "org.apiguardian:apiguardian-api", version.ref = "apiguardian" }
archunit = { module = "com.tngtech.archunit:archunit-junit5", version = "1.3.0" }
assertj = { module = "org.assertj:assertj-core", version.ref = "assertj" }
bartholdy = { module = "de.sormuras:bartholdy", version = "0.2.3" }
bndlib = { module = "biz.aQute.bnd:biz.aQute.bndlib", version.ref = "bnd" }
checkstyle = { module = "com.puppycrawl.tools:checkstyle", version.ref = "checkstyle" }
classgraph = { module = "io.github.classgraph:classgraph", version = "4.8.174" }
commons-io = { module = "commons-io:commons-io", version = "2.16.1" }
groovy4 = { module = "org.apache.groovy:groovy", version = "4.0.22" }
groovy2-bom = { module = "org.codehaus.groovy:groovy-bom", version = "2.5.21" }
hamcrest = { module = "org.hamcrest:hamcrest", version = "2.2" }
jackson-dataformat-yaml = { module = "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml", version.ref = "jackson" }
jackson-module-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin", version.ref = "jackson" }
jfrPolyfill = { module = "org.gradle.jfr.polyfill:jfr-polyfill", version = "1.0.2" }
jfrunit = { module = "org.moditect.jfrunit:jfrunit-core", version = "1.0.0.Alpha2" }
jimfs = { module = "com.google.jimfs:jimfs", version = "1.3.0" }
jmh-core = { module = "org.openjdk.jmh:jmh-core", version.ref = "jmh" }
jmh-generator-annprocess = { module = "org.openjdk.jmh:jmh-generator-annprocess", version.ref = "jmh" }
joox = { module = "org.jooq:joox", version = "2.0.1" }
jte = { module = "gg.jte:jte", version = "3.1.12" }
junit4 = { module = "junit:junit", version = { require = "[4.12,)", prefer = "4.13.2" } }
kotlinx-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version = "1.8.1" }
log4j-core = { module = "org.apache.logging.log4j:log4j-core", version.ref = "log4j" }
log4j-jul = { module = "org.apache.logging.log4j:log4j-jul", version.ref = "log4j" }
maven = { module = "org.apache.maven:apache-maven", version = "3.9.8" }
mavenSurefirePlugin = { module = "org.apache.maven.plugins:maven-surefire-plugin", version.ref = "surefire" }
memoryfilesystem = { module = "com.github.marschall:memoryfilesystem", version = "2.8.0" }
mockito = { module = "org.mockito:mockito-junit-jupiter", version = "5.12.0" }
opentest4j = { module = "org.opentest4j:opentest4j", version.ref = "opentest4j" }
openTestReporting-events = { module = "org.opentest4j.reporting:open-test-reporting-events", version.ref = "openTestReporting" }
openTestReporting-tooling = { module = "org.opentest4j.reporting:open-test-reporting-tooling", version.ref = "openTestReporting" }
picocli = { module = "info.picocli:picocli", version = "4.7.6" }
slf4j-julBinding = { module = "org.slf4j:slf4j-jdk14", version = "2.0.13" }
spock1 = { module = "org.spockframework:spock-core", version = "1.3-groovy-2.5" }
univocity-parsers = { module = "com.univocity:univocity-parsers", version = "2.9.1" }
xmlunit-assertj = { module = "org.xmlunit:xmlunit-assertj3", version.ref = "xmlunit" }
xmlunit-placeholders = { module = "org.xmlunit:xmlunit-placeholders", version.ref = "xmlunit" }
testingAnnotations = { module = "com.gradle:develocity-testing-annotations", version = "2.0.1" }

# Only declared here so Dependabot knows when to update the referenced versions
asciidoctorj-pdf = { module = "org.asciidoctor:asciidoctorj-pdf", version.ref = "asciidoctorj-pdf" }
eclipse-platform = { module = "org.eclipse.platform:org.eclipse.platform", version.ref = "eclipse" }
jacoco = { module = "org.jacoco:jacoco", version.ref = "jacoco" }
junit4-latest = { module = "junit:junit", version.ref = "junit4" }
junit4-bundle = { module = "org.apache.servicemix.bundles:org.apache.servicemix.bundles.junit", version = "4.13.2_1" }
ktlint-cli = { module = "com.pinterest.ktlint:ktlint-cli", version.ref = "ktlint" }

[bundles]
ant = ["ant", "ant-junit", "ant-junitlauncher"]
log4j = ["log4j-core", "log4j-jul"]
xmlunit = ["xmlunit-assertj", "xmlunit-placeholders"]

[plugins]
asciidoctorConvert = { id = "org.asciidoctor.jvm.convert", version.ref = "asciidoctor-plugins" }
asciidoctorPdf = { id = "org.asciidoctor.jvm.pdf", version.ref = "asciidoctor-plugins" }
bnd = { id = "biz.aQute.bnd", version.ref = "bnd" }
buildParameters = { id = "org.gradlex.build-parameters", version = "1.4.4" }
commonCustomUserData = { id = "com.gradle.common-custom-user-data-gradle-plugin", version = "2.0.2" }
develocity = { id = "com.gradle.develocity", version = "3.17.5" }
foojayResolver = { id = "org.gradle.toolchains.foojay-resolver", version = "0.8.0" }
gitPublish = { id = "org.ajoberstar.git-publish", version = "4.2.2" }
jmh = { id = "me.champeau.jmh", version = "0.7.2" }
nexusPublish = { id = "io.github.gradle-nexus.publish-plugin", version = "2.0.0" }
nohttp = { id = "io.spring.nohttp", version = "0.0.11" }
plantuml = { id = "io.freefair.plantuml", version = "8.6" }
shadow = { id = "io.github.goooler.shadow", version = "8.1.8" }
spotless = { id = "com.diffplug.spotless", version = "7.0.0.BETA1" }
versions = { id = "com.github.ben-manes.versions", version = "0.51.0" }
